const http = require("http");

const app = http.createServer((req,res)=>{
    /**
     * post请求的数据如何接收？
     * 答：可以通过监听data事件，然后再通过其回调函数的参数获取到（这个回调函数的参数就是前端传过来的数据）
     *      注意：这个数据不一定是一次全部接收，分情况的，情况如下。
     *             情况一：前端传递了大量数据，那么这些数据分割成一个个的数据传递过来，并通过chunk接收，所有此刻
     *                      data事件的回调函数是会触发多次的
     *              请求二：前端传递了少量的数据，此刻数据将会一次性接收完成，也就是说此刻data事件的回调函数只会触发一次。
     *  post请求如何判断数据已经接收完成了呢？
     *      答：通过监听end事件，当end事件回调函数触发的时候，说明数据已经接收完成了，(end事件的回调函数只会触发一次)
     *  
     *  如何监听data和end事件呢？
     *  答：通过req.on方法来监听（这里的on就相当于jQuery中的on方法）
     *          jquery中的on函数用法：$("选择器").on("click",function(){})
     * 
     * */ 
    let result ="";
    req.on("data", (chunk)=>{
        // chunk: 就是接收到的前端发送过来的数据片段（或者是完整的）
        console.log(123,chunk);
        result+=chunk;
    })
    req.on("end",()=>{
        console.log("数据接收完成了：", result);
    })
    res.end("post接口")
})

app.listen("8000",()=>{
    console.log("服务器启动成功：http://localhost:8000");
})

